//
//  StartModuleA.m
//  TestDemo
//
//  Created by 张润东 on 2021/3/17.
//

#import "StartModuleA.h"
#import "CHDynamicLoader.h"

@implementation StartModuleA

+ (instancetype)shareMoudeleA {
    static id startModuleA = nil;
    static dispatch_once_t onceToken = 0;
    dispatch_once(&onceToken, ^{
        // alloc & init work
        startModuleA = [[self alloc]init];
    });
    return startModuleA;
}

- (void)setUP1{
    NSLog(@"哈哈哈LEVEL_APPLaunch");
}

- (void)setUP2{
    NSLog(@"哈哈哈LEVEL_ShowedSec");
}

- (void)setUP3{
    NSLog(@"哈哈哈LEVEL_EnterBack");
}


// 根据实际的项目需求做到可插拔、解耦合、可复用等等等的问题
CRDYML_FUNCTIONS_EXPORT_BEGIN(LEVEL_APPLaunch)
[[StartModuleA shareMoudeleA] setUP1];
CRDYML_FUNCTIONS_EXPORT_END(LEVEL_APPLaunch)

// 根据实际的项目需求做到可插拔、解耦合、可复用等等等的问题
CRDYML_FUNCTIONS_EXPORT_BEGIN(LEVEL_ShowedSec)
[[StartModuleA shareMoudeleA] setUP2];
CRDYML_FUNCTIONS_EXPORT_END(LEVEL_ShowedSec)

// 根据实际的项目需求做到可插拔、解耦合、可复用等等等的问题
CRDYML_FUNCTIONS_EXPORT_BEGIN(LEVEL_EnterBack)
[[StartModuleA shareMoudeleA] setUP3];
CRDYML_FUNCTIONS_EXPORT_END(LEVEL_EnterBack)



@end
